ShrineLab_Installer.exe 사용법

1. ZIP을 대상 *.mpq/data 바깥의 별도 작업 폴더에 압축 해제합니다.
2. ShrineLab_Installer.exe를 실행합니다.
3. [검사]를 누릅니다.
   - EXE 옆 data / installer_sources의 계약 source만 검사합니다.
   - target은 이 단계에서 건드리지 않습니다.
4. 대상 폴더를 지정합니다.
   - 모드 루트 / *.mpq / *.mpq/data 중 어느 레벨을 선택해도 같은 canonical data를 찾습니다.
   - [찾기]는 입력칸에 유효한 폴더가 있으면 그곳, 아니면 D2R 설치경로의 mods 폴더, mods가 없으면 D2R 루트, 감지 실패 시 Windows 기본 위치 순서로 시작합니다.
5. 기반 D2RMM과 같은 19개 신단 체크박스를 선택합니다. 기본값은 모두 ON입니다.
6. [설치]을 누르고 실제 resolved dataRoot와 변경 계획을 확인한 뒤 진행합니다.

[안전 동작]
- 설치 직전 source session fingerprint를 다시 검사합니다.
- target dataRoot 단위 mutex와 snapshot으로 외부 동시변경을 검사합니다.
- 모든 출력은 메모리에서 먼저 생성/검증합니다.
- 디스크 여유공간을 확인한 뒤 영향 파일만 backups/<timestamp>_BeforeInstall/에 백업합니다.
- 쓰기 도중 실패하면 BeforeInstall 백업으로 자동 롤백합니다.
- 백업은 자동 삭제하지 않습니다.

[백업 복구]
- [백업 새로고침]은 현재 target 입력과 무관하게 same-family 완료 백업을 검사합니다.
- [선택 백업 복구]는 선택한 target의 canonical dataRoot가 백업 manifest와 일치할 때만 동작합니다.
- 복구 직전 현재 상태를 BeforeRestore로 다시 백업합니다.
- 복구 실패 시 BeforeRestore로 재롤백합니다.
- 해당 백업 이후 같은 파일에 적용된 다른 모드 수정도 함께 되돌아갈 수 있으므로 복구 확인창의 경고를 확인하십시오.

[주의]
- ZIP의 data 폴더를 기존 target data에 먼저 덮어쓴 다음 자동병합기를 실행하지 마십시오. 덮어쓰기 전에 잃어버린 타 모드 데이터는 설치기가 복구할 수 없습니다.
- source와 target이 단순히 상하위 폴더 관계라는 이유만으로는 실패하지 않지만, source 계약 파일과 실제 target write/delete가 같은 canonical 파일이면 안전을 위해 중단합니다.
- waypoint.ds1은 바이너리라 다른 waypoint.ds1 모드와 내부 병합할 수 없습니다.

[찾기] 경로 감지는 Windows 레지스트리 API를 직접 사용하며 reg.exe/cmd/PowerShell 같은 외부 명령창을 실행하지 않습니다.
